/*
 *
 * ClearDataTemp.java Copyright(C) 2017 - 2020 @北京云星宇交通科技股份有限公司
 * 
 * @date 2019-09-28
 */
package com.yxy.ms.manager.entity.po;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class ClearDataTemp implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = -5673258352052464889L;

    /**
     * 联合主键
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long mid;

    /**
     * 交易编号
     */
    private String gid;

    /**
     * 发行方id rans_type_code =1、2、3、4、5时填卡内发行方编号 trans_type_code =12、13时填0
     */
    private Long issuerId;

    /**
     * 交易类型 1-基于TAC生成的ETC门架交易 2-ETC刷卡交易 3-基于可匹配过车图像的ETC通行记录的ETC门架交易数据 4-基于经校核的过车识别图像的ETC门架交易 5-基于有证据支撑的路径拟合数据的ETC门架交易数据
     * 12-现金交易（移动支付） 13-现金交易（非移动支付）
     */
    private Integer transTypeCode;

    /**
     * 是否多省交易 0-单省 1-多省 trans_type_code =1、2、3、4、5且issuer_id≠北京发行方时填1
     */
    private Integer multiProvince;

    /**
     * 处理结果 -2 未发送（默认） -1已发送未反馈
     */
    private Integer processResult;

    /**
     * 包号
     */
    private Long packageNo;

    /**
     * 包中顺序号：同一个包内从1开始递增，最大1000
     */
    private Integer transId;

    /**
     * 创建时间
     */
    private Date createTime;

    public ClearDataTemp() {

    }

    public ClearDataTemp(Long mid, Integer transTypeCode) {
        this.mid = mid;
        this.transTypeCode = transTypeCode;
    }

    public ClearDataTemp(Long mid, String gid, Long packageNo, Integer transId, Integer processResult) {
        this.mid = mid;
        this.gid = gid;
        this.packageNo = packageNo;
        this.transId = transId;
        this.processResult = processResult;
    }

    /**
     * <函数描述> [构造函数] - 清分上传时使用
     * 
     * @param mid
     *            联合主键
     * @param transTypeCode
     *            联合主键
     * @param processResult
     *            处理结果
     * @param packageNo
     *            包号
     * @param transId
     *            记录序列号
     */
    public ClearDataTemp(Long mid, Integer transTypeCode, Integer processResult, Long packageNo, Integer transId) {
        super();
        this.mid = mid;
        this.transTypeCode = transTypeCode;
        this.processResult = processResult;
        this.packageNo = packageNo;
        this.transId = transId;
    }

}